home *** CD-ROM | disk | FTP | other *** search
-
-
-
- VIFS -- View an Iterated Function System.
- -------------------------------------------
-
- Hardware requirements:
-
- IBM PC compatible with EGA and a mouse (only for editing).
- Free memory needed > 128 kByte.
- (A PC/AT or faster is nice but not necessary.)
-
-
- [Theory from M. Barnsley 'Fractals Everywhere' (ISBN 0-12-079062-9).]
-
- An iterated function system (IFS) can be used to describe a fractal.
- The IFSs used by the VIFS program consists of a number of transformations.
- The transformations are affine, i.e. they map a point (x, y) to a point
- (ax + by + e, cx + dy + f). The constants a, b, c, d, e and f define
- the transformation. (a, b, c and d makes a transformation matrix,
- e and f a translation vector.)
-
- VIFS uses the Random Iteration Algoritm the compute the fractal from the IFS.
- It also possible to edit the transformations (if your PC has a mouse).
- (The IFS description is stored in a plain ASCII file so a text editor
- will also do, but it is a bit harder to visualize what you are doing.)
-
-
- Invocation syntax:
-
- VIFS [options] ifs_data_file
-
- Options are:
-
- -e use edit mode (mouse required)
-
-
- If the -e option isn't present VIFS displays the fractal. Since this
- may take some time the keyboard is scanned, and a pressed key will stop
- the computation. A beep signals that the computation has stopped.
- After this, a keypress will clear the screen and end the program.
-
- If the -e option is present VIFS goes to edit mode. The menu is displayed
- at the top of the screen and the transformations all over the screen.
- The mouse cursor looks like a +. To select from the menu, point at the
- item and click the left button.
-
- The transformations are displayed as rectangles with an extra line from
- the zero corner pointing along the x axis. The rectangle shows how the
- unit square is transformed by the transformation.
-
- To select a transformation: point close to the zero corner and click the
- left or the right button. The left button selects for move or scale and
- the right button selects for rotate or skew. When a transformation is
- selected it will remain so until the left button is clicked. To flip edit
- mode while a transformation is selected click the right button.
-
- Each transformation has an associated color and probability. The color
- determines the color of the part of the fractal that the transformation
- is responsible for. The color is also the color of the transformation
- rectangle when edited. The probability determines the "weight" of the
- transformation relative to the other transformations. A high probability
- gives more pixels when the fractal is displayed.
-
- Every transformation also belongs to a group. Each group defines a
- separate IFS, i.e. there will be as many fractals as groups. All fractals
- are displayed concurrently.
-
- The display of the fractal(s) may be done in invariant measure mode.
- In this mode the colors are not determined by the individual transformation's
- color, but by the "density" of the parts of the fractal. (The color of a
- pixel is increased every time it is hit by the iteration.)
-
- The main menu items:
-
- quit exit the program (don't forget to save the IFS first)
-
- go display the fractal
-
- unit draw the unit square (handy if you have zoomed away)
-
- im-mode invariant measure mode flip on/off
- (also in the color menu)
-
- color show the color menu (see below)
-
- prob. show the probability menu (see below)
-
- add add a transformation
-
- del delete a transformation
-
- zoom-in zoom in, show the part of the screen to be enlarged
- to fill the screen; flip mode from move to scale
- exactly as with a transformation
-
- back-out back out, the reverse of zoom-in; show where the
- current full screen should be shown
-
- redraw redraw the screen (erase fractals)
-
- load read an IFS from file
-
- save write the IFS to file
-
- 0 reset the IFS
-
-
- When the color menu is shown (and im mode is off) and a transformation
- is selected, its color index and the color is shown in the upper right
- corner. Many transformations may have the same color index, which is
- necessary if there are more transformations than colors.
-
- If a transformation has "previous" color it will not give the fractal
- a specific color but use the colors of the other transformations.
-
- The color menu items:
-
- quit return to the main menu
-
- im invariant measure mode flip on/off
- (also in the main menu)
-
- Max_im+ increase the maximum im color
-
- max_im- decrease the maximum im color
-
- _bg select the background for color change
-
- prev use previous color for this transformation
-
- +index increase color index
-
- -index decrease color index
-
- R+ G+ B+ increase the red, green or blue color content
-
- r- g- b- decrease the red, green or blue color content
-
-
- When the probability menu is shown and a transformation is selected,
- its probability (within the group) and the group probability is shown in
- the upper right corner.
-
- The probability menu items:
-
- quit return to the main menu
-
- density overall density, in parts of available pixels
-
- equal set all probabilities equal
-
- =area set all probabilities proportional to the area
- of each transformation's area
-
- Grp#+ increase the group index of current transformation
-
- grp#- decrease the group index of current transformation
-
- Prgrp+ increase the probability of current group
-
- prgrp- decrease the probability of current group
-
- 0.1 set the probability of current transformation to .1
-
- .5 set the probability of current transformation to .5
-
- + increase the probability of current transformation
-
- - increase the probability of current transformation
-
-
- Example:
-
- To see the fractal defined by an IFS file "leaf2.ifs" enter
- vifs leaf2.ifs (at the DOS command prompter).
-
-
-
- Support programs for making hardcopys
- -------------------------------------
-
- One way of making a hardcopy is to use a "screen grabber" program to
- save the screen content into a file and then print it. A disadvantage
- with this is that most printers have higher graphic resolution than
- the computer screen and the picture looks grainy.
-
- Another way to make a hardcopy is the BIFS program. BIFS draws the
- fractal off-screen. The output is a binary (black and white) image
- file in SBIF format (Simple Binary Image Format). The resolution is
- only limited by available memory (don't use too many TSRs).
-
- To print the SBIF file convert it to epson or postscript format with
- SBIFEPS or SBIFPS. There also is a program named VSBIF that displays
- (part of) a SBIF file on the screen.
-
- The SBIFEPS program assumes you have an 8-pin epson printer. It uses
- 60 dots/inch (esc-K). If you have problems printing the output file from
- SBIFEPS use the -b option to send the output to LPT1. (The DOS print
- command usually can't handle binary files.)
-
- The SBIFPS output file is a postscript program and you can use your
- favorite text editor to modify it (e.g. the image size). If you set
- the -b flag the image will be inverted (uses lots of toner).
-
-
-
- Invocation syntax for BIFS:
-
- BIFS [options] ifs_data_file
-
- Options are:
-
- -o file output file name (default is standard output)
- -x integer x size (default 512)
- -y integer y size (default 512)
- -s integer x and y size (shorthand for square output)
- -r number relative density (multiplier for the file value)
- -i don't reduce the density if im mode (1/im_levels)
- -q quiet mode, don't stop at keyboard input
-
-
-
- Invocation syntax for VSBIF:
-
- VSBIF [options] sbif_file
-
- Options are:
-
- -x integer x offset
- -y integer y offset
-
-
-
- Invocation syntax for SBIFEPS:
-
- SBIFEPS [options] sbif_file
-
- Options are:
-
- -o file output file name (default is standard output)
- -b use bios to print (on LPT1:)
- -i integer indent amount (characters)
- -x integer x offset
- -y integer y offset
-
-
-
- Invocation syntax for SBIFPS:
-
- SBIFPS [options] sbif_file
-
- Options are:
-
- -o file output file name (default is standard output)
- -b make the background black (inverse)
- -s square image output (default: fill the paper)
-
-
-
- Examples:
-
- Printing the "leaf2.ifs" fractal.
-
- Generate the SBIF file: bifs leaf2.ifs -o leaf2.sbi
- Check before printing: vsbif leaf2.sbi
- Print on LPT1 (epson): sbifeps -b leaf2.sbi
-
- Make a larger file for a postscript printer and reduce density:
- bifs -o leaf2.sbi -s 1200 -r 0.3 leaf.ifs
-
- Check the right edge before printing: vsbif -x 1000 leaf2.sbi
- Make the postscript file: sbifps -o leaf2.ps leaf2.sbi
-
-
-